.el-cascader {
    --el-cascader-menu-text-color: var(--el-text-color-regular);
    --el-cascader-menu-selected-text-color: var(--el-color-primary);
    --el-cascader-menu-fill: var(--el-bg-color-overlay);
    --el-cascader-menu-font-size: var(--el-font-size-base);
    --el-cascader-menu-radius: var(--el-border-radius-base);
    --el-cascader-menu-border: solid 1px var(--el-border-color-light);
    --el-cascader-menu-shadow: var(--el-box-shadow-light);
    --el-cascader-node-background-hover: var(--el-fill-color-light);
    --el-cascader-node-color-disabled: var(--el-text-color-placeholder);
    --el-cascader-color-empty: var(--el-text-color-placeholder);
    --el-cascader-tag-background: var(--el-fill-color);
    display: inline-block;
    font-size: var(--el-font-size-base);
    line-height: 32px;
    outline: none;
    position: relative;
    vertical-align: middle
}

.el-cascader:not(.is-disabled):hover .el-input__wrapper {
    box-shadow: 0 0 0 1px var(--el-input-hover-border-color) inset;
    cursor: pointer
}

.el-cascader .el-input {
    cursor: pointer;
    display: flex
}

.el-cascader .el-input .el-input__inner {
    cursor: pointer;
    text-overflow: ellipsis
}

.el-cascader .el-input .el-input__suffix-inner .el-icon svg {
    vertical-align: middle
}

.el-cascader .el-input .icon-arrow-down {
    font-size: 14px;
    transition: transform var(--el-transition-duration)
}

.el-cascader .el-input .icon-arrow-down.is-reverse {
    transform: rotate(180deg)
}

.el-cascader .el-input .icon-circle-close:hover {
    color: var(--el-input-clear-hover-color, var(--el-text-color-secondary))
}

.el-cascader .el-input.is-focus .el-input__wrapper {
    box-shadow: 0 0 0 1px var(--el-input-focus-border-color, var(--el-color-primary)) inset
}

.el-cascader--large {
    font-size: 14px;
    line-height: 40px
}

.el-cascader--large .el-cascader__tags {
    gap: 6px;
    padding: 8px
}

.el-cascader--large .el-cascader__search-input {
    height: 24px;
    margin-left: 7px
}

.el-cascader--small {
    font-size: 12px;
    line-height: 24px
}

.el-cascader--small .el-cascader__tags {
    gap: 4px;
    padding: 2px
}

.el-cascader--small .el-cascader__search-input {
    height: 20px;
    margin-left: 5px
}

.el-cascader.is-disabled .el-cascader__label {
    color: var(--el-disabled-text-color);
    z-index: calc(var(--el-index-normal) + 1)
}

.el-cascader__dropdown {
    --el-cascader-menu-text-color: var(--el-text-color-regular);
    --el-cascader-menu-selected-text-color: var(--el-color-primary);
    --el-cascader-menu-fill: var(--el-bg-color-overlay);
    --el-cascader-menu-font-size: var(--el-font-size-base);
    --el-cascader-menu-radius: var(--el-border-radius-base);
    --el-cascader-menu-border: solid 1px var(--el-border-color-light);
    --el-cascader-menu-shadow: var(--el-box-shadow-light);
    --el-cascader-node-background-hover: var(--el-fill-color-light);
    --el-cascader-node-color-disabled: var(--el-text-color-placeholder);
    --el-cascader-color-empty: var(--el-text-color-placeholder);
    --el-cascader-tag-background: var(--el-fill-color);
    border-radius: var(--el-cascader-menu-radius);
    font-size: var(--el-cascader-menu-font-size)
}

.el-cascader__dropdown.el-popper {
    background: var(--el-cascader-menu-fill);
    border: var(--el-cascader-menu-border)
}

.el-cascader__dropdown.el-popper .el-popper__arrow:before {
    border: var(--el-cascader-menu-border)
}

.el-cascader__dropdown.el-popper[data-popper-placement^=top] .el-popper__arrow:before {
    border-left-color: transparent;
    border-top-color: transparent
}

.el-cascader__dropdown.el-popper[data-popper-placement^=bottom] .el-popper__arrow:before {
    border-bottom-color: transparent;
    border-right-color: transparent
}

.el-cascader__dropdown.el-popper[data-popper-placement^=left] .el-popper__arrow:before {
    border-bottom-color: transparent;
    border-left-color: transparent
}

.el-cascader__dropdown.el-popper[data-popper-placement^=right] .el-popper__arrow:before {
    border-right-color: transparent;
    border-top-color: transparent
}

.el-cascader__dropdown.el-popper {
    box-shadow: var(--el-cascader-menu-shadow)
}

.el-cascader__header {
    border-bottom: 1px solid var(--el-border-color-light);
    padding: 10px
}

.el-cascader__footer {
    border-top: 1px solid var(--el-border-color-light);
    padding: 10px
}

.el-cascader__tags {
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    left: 0;
    line-height: normal;
    padding: 4px;
    position: absolute;
    right: 30px;
    text-align: left;
    top: 50%;
    transform: translateY(-50%)
}

.el-cascader__tags .el-tag {
    align-items: center;
    background: var(--el-cascader-tag-background);
    display: inline-flex;
    max-width: 100%;
    text-overflow: ellipsis
}

.el-cascader__tags .el-tag.el-tag--dark,
.el-cascader__tags .el-tag.el-tag--plain {
    background-color: var(--el-tag-bg-color)
}

.el-cascader__tags .el-tag:not(.is-hit) {
    border-color: transparent
}

.el-cascader__tags .el-tag:not(.is-hit).el-tag--dark,
.el-cascader__tags .el-tag:not(.is-hit).el-tag--plain {
    border-color: var(--el-tag-border-color)
}

.el-cascader__tags .el-tag>span {
    flex: 1;
    line-height: normal;
    overflow: hidden;
    text-overflow: ellipsis
}

.el-cascader__tags .el-tag .el-icon-close {
    background-color: var(--el-text-color-placeholder);
    color: var(--el-color-white);
    flex: none
}

.el-cascader__tags .el-tag .el-icon-close:hover {
    background-color: var(--el-text-color-secondary)
}

.el-cascader__tags .el-tag+input {
    margin-left: 0
}

.el-cascader__tags.is-validate {
    right: 55px
}

.el-cascader__collapse-tags {
    white-space: normal;
    z-index: var(--el-index-normal)
}

.el-cascader__collapse-tags .el-tag {
    align-items: center;
    background: var(--el-fill-color);
    display: inline-flex;
    max-width: 100%;
    text-overflow: ellipsis
}

.el-cascader__collapse-tags .el-tag.el-tag--dark,
.el-cascader__collapse-tags .el-tag.el-tag--plain {
    background-color: var(--el-tag-bg-color)
}

.el-cascader__collapse-tags .el-tag:not(.is-hit) {
    border-color: transparent
}

.el-cascader__collapse-tags .el-tag:not(.is-hit).el-tag--dark,
.el-cascader__collapse-tags .el-tag:not(.is-hit).el-tag--plain {
    border-color: var(--el-tag-border-color)
}

.el-cascader__collapse-tags .el-tag>span {
    flex: 1;
    line-height: normal;
    overflow: hidden;
    text-overflow: ellipsis
}

.el-cascader__collapse-tags .el-tag .el-icon-close {
    background-color: var(--el-text-color-placeholder);
    color: var(--el-color-white);
    flex: none
}

.el-cascader__collapse-tags .el-tag .el-icon-close:hover {
    background-color: var(--el-text-color-secondary)
}

.el-cascader__collapse-tags .el-tag+input {
    margin-left: 0
}

.el-cascader__collapse-tags .el-tag {
    margin: 2px 0
}

.el-cascader__suggestion-panel {
    border-radius: var(--el-cascader-menu-radius)
}

.el-cascader__suggestion-list {
    color: var(--el-cascader-menu-text-color);
    font-size: var(--el-font-size-base);
    margin: 0;
    max-height: 204px;
    padding: 6px 0;
    text-align: center
}

.el-cascader__suggestion-item {
    align-items: center;
    cursor: pointer;
    display: flex;
    height: 34px;
    justify-content: space-between;
    outline: none;
    padding: 0 15px;
    text-align: left
}

.el-cascader__suggestion-item:focus,
.el-cascader__suggestion-item:hover {
    background: var(--el-cascader-node-background-hover)
}

.el-cascader__suggestion-item.is-checked {
    color: var(--el-cascader-menu-selected-text-color);
    font-weight: bold
}

.el-cascader__suggestion-item>span {
    margin-right: 10px
}

.el-cascader__empty-text {
    color: var(--el-cascader-color-empty);
    margin: 10px 0
}

.el-cascader__search-input {
    background: transparent;
    border: none;
    box-sizing: border-box;
    color: var(--el-cascader-menu-text-color);
    flex: 1;
    height: 24px;
    margin-left: 7px;
    min-width: 60px;
    outline: none;
    padding: 0
}

.el-cascader__search-input::-moz-placeholder {
    color: transparent
}

.el-cascader__search-input::placeholder {
    color: transparent
}